<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/timex.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/timex.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*****************************************************************************</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> *                                                                           *</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> * Copyright (c) David L. Mills 1993                                         *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> *                                                                           *</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * Permission to use, copy, modify, and distribute this software and its     *</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * documentation for any purpose and without fee is hereby granted, provided *</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * that the above copyright notice appears in all copies and that both the   *</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * copyright notice and this permission notice appear in supporting          *</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * documentation, and that the name University of Delaware not be used in    *</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * advertising or publicity pertaining to distribution of the software       *</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * without specific, written prior permission.  The University of Delaware   *</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * makes no representations about the suitability this software for any      *</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * purpose.  It is provided &quot;as is&quot; without express or implied warranty.     *</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> *                                                                           *</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> *****************************************************************************/</span>
<a name="16" /><span class="True">      16:</span> 
<a name="17" /><span class="True">      17:</span> <span class="k">/*</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * Modification history timex.h</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> *</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * 29 Dec 97    Russell King</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> *    Moved CLOCK_TICK_RATE, CLOCK_TICK_FACTOR and FINETUNE to asm/timex.h</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> *    for ARM machines</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> *</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> *  9 Jan 97    Adrian Sun</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> *      Shifted LATCH define to allow access to alpha machines.</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> *</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> * 26 Sep 94    David L. Mills</span>
<a name="28" /><span class="True">      28:</span> <span class="k"> *    Added defines for hybrid phase/frequency-lock loop.</span>
<a name="29" /><span class="True">      29:</span> <span class="k"> *</span>
<a name="30" /><span class="True">      30:</span> <span class="k"> * 19 Mar 94    David L. Mills</span>
<a name="31" /><span class="True">      31:</span> <span class="k"> *    Moved defines from kernel routines to header file and added new</span>
<a name="32" /><span class="True">      32:</span> <span class="k"> *    defines for PPS phase-lock loop.</span>
<a name="33" /><span class="True">      33:</span> <span class="k"> *</span>
<a name="34" /><span class="True">      34:</span> <span class="k"> * 20 Feb 94    David L. Mills</span>
<a name="35" /><span class="True">      35:</span> <span class="k"> *    Revised status codes and structures for external clock and PPS</span>
<a name="36" /><span class="True">      36:</span> <span class="k"> *    signal discipline.</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> *</span>
<a name="38" /><span class="True">      38:</span> <span class="k"> * 28 Nov 93    David L. Mills</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> *    Adjusted parameters to improve stability and increase poll</span>
<a name="40" /><span class="True">      40:</span> <span class="k"> *    interval.</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> *</span>
<a name="42" /><span class="True">      42:</span> <span class="k"> * 17 Sep 93    David L. Mills</span>
<a name="43" /><span class="True">      43:</span> <span class="k"> *      Created file $NTP/include/sys/timex.h</span>
<a name="44" /><span class="True">      44:</span> <span class="k"> * 07 Oct 93    Torsten Duwe</span>
<a name="45" /><span class="True">      45:</span> <span class="k"> *      Derived linux/timex.h</span>
<a name="46" /><span class="True">      46:</span> <span class="k"> * 1995-08-13    Torsten Duwe</span>
<a name="47" /><span class="True">      47:</span> <span class="k"> *      kernel PLL updated to 1994-12-13 specs (rfc-1589)</span>
<a name="48" /><span class="True">      48:</span> <span class="k"> * 1997-08-30    Ulrich Windl</span>
<a name="49" /><span class="True">      49:</span> <span class="k"> *      Added new constant NTP_PHASE_LIMIT</span>
<a name="50" /><span class="True">      50:</span> <span class="k"> * 2004-08-12    Christoph Lameter</span>
<a name="51" /><span class="True">      51:</span> <span class="k"> *      Reworked time interpolation logic</span>
<a name="52" /><span class="True">      52:</span> <span class="k"> */</span>
<a name="53" /><span class="True">      53:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfVElNRVhfSF8w"><span class="b">_UAPI_LINUX_TIMEX_H</span></a>
<a name="54" /><span class="True">      54:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X1VBUElfTElOVVhfVElNRVhfSF8w"><span class="b">_UAPI_LINUX_TIMEX_H</span></a>
<a name="55" /><span class="True">      55:</span> 
<a name="56" /><span class="True">      56:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">time</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="57" /><span class="True">      57:</span> 
<a name="58" /><span class="True">      58:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TlRQX0FQSV8w"><span class="b">NTP_API</span></a>        <span class="c">4</span>    <span class="k">/* NTP API version */</span>
<a name="59" /><span class="True">      59:</span> 
<a name="60" /><span class="True">      60:</span> <span class="k">/*</span>
<a name="61" /><span class="True">      61:</span> <span class="k"> * syscall interface - used (mainly by NTP daemon)</span>
<a name="62" /><span class="True">      62:</span> <span class="k"> * to discipline kernel clock oscillator</span>
<a name="63" /><span class="True">      63:</span> <span class="k"> */</span>
<a name="64" /><span class="True">      64:</span> <span class="m">struct</span> <span class="b">timex</span> <span class="f">{</span>
<a name="65" /><span class="True">      65:</span>     <span class="m">unsigned</span> <span class="m">int</span> <span class="b">modes</span><span class="f">;</span>    <span class="k">/* mode selector */</span>
<a name="66" /><span class="True">      66:</span>     <span class="m">long</span> <span class="b">offset</span><span class="f">;</span>        <span class="k">/* time offset (usec) */</span>
<a name="67" /><span class="True">      67:</span>     <span class="m">long</span> <span class="b">freq</span><span class="f">;</span>        <span class="k">/* frequency offset (scaled ppm) */</span>
<a name="68" /><span class="True">      68:</span>     <span class="m">long</span> <span class="b">maxerror</span><span class="f">;</span>        <span class="k">/* maximum error (usec) */</span>
<a name="69" /><span class="True">      69:</span>     <span class="m">long</span> <span class="b">esterror</span><span class="f">;</span>        <span class="k">/* estimated error (usec) */</span>
<a name="70" /><span class="True">      70:</span>     <span class="m">int</span> <span class="b">status</span><span class="f">;</span>        <span class="k">/* clock command/status */</span>
<a name="71" /><span class="True">      71:</span>     <span class="m">long</span> <span class="b">constant</span><span class="f">;</span>        <span class="k">/* pll time constant */</span>
<a name="72" /><span class="True">      72:</span>     <span class="m">long</span> <span class="b">precision</span><span class="f">;</span>        <span class="k">/* clock precision (usec) (read only) */</span>
<a name="73" /><span class="True">      73:</span>     <span class="m">long</span> <span class="b">tolerance</span><span class="f">;</span>        <span class="k">/* clock frequency tolerance (ppm)</span>
<a name="74" /><span class="True">      74:</span> <span class="k">                 * (read only)</span>
<a name="75" /><span class="True">      75:</span> <span class="k">                 */</span>
<a name="76" /><span class="True">      76:</span>     <span class="m">struct</span> <span class="b">timeval</span> <span class="b">time</span><span class="f">;</span>    <span class="k">/* (read only, except for ADJ_SETOFFSET) */</span>
<a name="77" /><span class="True">      77:</span>     <span class="m">long</span> <span class="b">tick</span><span class="f">;</span>        <span class="k">/* (modified) usecs between clock ticks */</span>
<a name="78" /><span class="True">      78:</span> 
<a name="79" /><span class="True">      79:</span>     <span class="m">long</span> <span class="b">ppsfreq</span><span class="f">;</span>           <span class="k">/* pps frequency (scaled ppm) (ro) */</span>
<a name="80" /><span class="True">      80:</span>     <span class="m">long</span> <span class="b">jitter</span><span class="f">;</span>            <span class="k">/* pps jitter (us) (ro) */</span>
<a name="81" /><span class="True">      81:</span>     <span class="m">int</span> <span class="b">shift</span><span class="f">;</span>              <span class="k">/* interval duration (s) (shift) (ro) */</span>
<a name="82" /><span class="True">      82:</span>     <span class="m">long</span> <span class="b">stabil</span><span class="f">;</span>            <span class="k">/* pps stability (scaled ppm) (ro) */</span>
<a name="83" /><span class="True">      83:</span>     <span class="m">long</span> <span class="b">jitcnt</span><span class="f">;</span>            <span class="k">/* jitter limit exceeded (ro) */</span>
<a name="84" /><span class="True">      84:</span>     <span class="m">long</span> <span class="b">calcnt</span><span class="f">;</span>            <span class="k">/* calibration intervals (ro) */</span>
<a name="85" /><span class="True">      85:</span>     <span class="m">long</span> <span class="b">errcnt</span><span class="f">;</span>            <span class="k">/* calibration errors (ro) */</span>
<a name="86" /><span class="True">      86:</span>     <span class="m">long</span> <span class="b">stbcnt</span><span class="f">;</span>            <span class="k">/* stability limit exceeded (ro) */</span>
<a name="87" /><span class="True">      87:</span> 
<a name="88" /><span class="True">      88:</span>     <span class="m">int</span> <span class="b">tai</span><span class="f">;</span>        <span class="k">/* TAI offset (ro) */</span>
<a name="89" /><span class="True">      89:</span> 
<a name="90" /><span class="True">      90:</span>     <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span>
<a name="91" /><span class="True">      91:</span>     <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span>
<a name="92" /><span class="True">      92:</span>     <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span> <span class="m">int</span>  <span class="f">:</span><span class="c">32</span><span class="f">;</span>
<a name="93" /><span class="True">      93:</span> <span class="f">}</span><span class="f">;</span>
<a name="94" /><span class="True">      94:</span> 
<a name="95" /><span class="True">      95:</span> <span class="k">/*</span>
<a name="96" /><span class="True">      96:</span> <span class="k"> * Mode codes (timex.mode)</span>
<a name="97" /><span class="True">      97:</span> <span class="k"> */</span>
<a name="98" /><span class="True">      98:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX09GRlNFVF8w"><span class="b">ADJ_OFFSET</span></a>        <span class="c">0x0001</span>    <span class="k">/* time offset */</span>
<a name="99" /><span class="True">      99:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX0ZSRVFVRU5DWV8w"><span class="b">ADJ_FREQUENCY</span></a>        <span class="c">0x0002</span>    <span class="k">/* frequency offset */</span>
<a name="100" /><span class="True">     100:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX01BWEVSUk9SXzA_"><span class="b">ADJ_MAXERROR</span></a>        <span class="c">0x0004</span>    <span class="k">/* maximum time error */</span>
<a name="101" /><span class="True">     101:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX0VTVEVSUk9SXzA_"><span class="b">ADJ_ESTERROR</span></a>        <span class="c">0x0008</span>    <span class="k">/* estimated time error */</span>
<a name="102" /><span class="True">     102:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX1NUQVRVU18w"><span class="b">ADJ_STATUS</span></a>        <span class="c">0x0010</span>    <span class="k">/* clock status */</span>
<a name="103" /><span class="True">     103:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX1RJTUVDT05TVF8w"><span class="b">ADJ_TIMECONST</span></a>        <span class="c">0x0020</span>    <span class="k">/* pll time constant */</span>
<a name="104" /><span class="True">     104:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX1RBSV8w"><span class="b">ADJ_TAI</span></a>            <span class="c">0x0080</span>    <span class="k">/* set TAI offset */</span>
<a name="105" /><span class="True">     105:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX1NFVE9GRlNFVF8w"><span class="b">ADJ_SETOFFSET</span></a>        <span class="c">0x0100</span>  <span class="k">/* add &apos;time&apos; to current time */</span>
<a name="106" /><span class="True">     106:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX01JQ1JPXzA_"><span class="b">ADJ_MICRO</span></a>        <span class="c">0x1000</span>    <span class="k">/* select microsecond resolution */</span>
<a name="107" /><span class="True">     107:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX05BTk9fMA__"><span class="b">ADJ_NANO</span></a>        <span class="c">0x2000</span>    <span class="k">/* select nanosecond resolution */</span>
<a name="108" /><span class="True">     108:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX1RJQ0tfMA__"><span class="b">ADJ_TICK</span></a>        <span class="c">0x4000</span>    <span class="k">/* tick value */</span>
<a name="109" /><span class="True">     109:</span> 
<a name="110" /><span class="False">     110:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19LRVJORUxfX18w"><span class="b">__KERNEL__</span></a>
<a name="111" /><span class="False">     111:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QURKX09GRlNFVF9TSU5HTEVTSE9UXzA_"><span class="b">ADJ_OFFSET_SINGLESHOT</span></a>    <span class="c">0x8001</span>    <span class="k">/* old-fashioned adjtime */</span>
<a name="112" /><span class="False">     112:</span> <span class="f">#</span><span class="n">define</span> <span class="b">ADJ_OFFSET_SS_READ</span>    <span class="c">0xa001</span>    <span class="k">/* read-only adjtime */</span>
<a name="113" /><span class="True">     113:</span> <span class="f">#</span><span class="n">endif</span>
<a name="114" /><span class="True">     114:</span> 
<a name="115" /><span class="True">     115:</span> <span class="k">/* NTP userland likes the MOD_ prefix better */</span>
<a name="116" /><span class="True">     116:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX09GRlNFVF8w"><span class="b">MOD_OFFSET</span></a>    <a href="cpu.c_macros_noref.html#_QURKX09GRlNFVF8w"><span class="b">ADJ_OFFSET</span></a>
<a name="117" /><span class="True">     117:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX0ZSRVFVRU5DWV8w"><span class="b">MOD_FREQUENCY</span></a>    <a href="cpu.c_macros_noref.html#_QURKX0ZSRVFVRU5DWV8w"><span class="b">ADJ_FREQUENCY</span></a>
<a name="118" /><span class="True">     118:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX01BWEVSUk9SXzA_"><span class="b">MOD_MAXERROR</span></a>    <a href="cpu.c_macros_noref.html#_QURKX01BWEVSUk9SXzA_"><span class="b">ADJ_MAXERROR</span></a>
<a name="119" /><span class="True">     119:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX0VTVEVSUk9SXzA_"><span class="b">MOD_ESTERROR</span></a>    <a href="cpu.c_macros_noref.html#_QURKX0VTVEVSUk9SXzA_"><span class="b">ADJ_ESTERROR</span></a>
<a name="120" /><span class="True">     120:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX1NUQVRVU18w"><span class="b">MOD_STATUS</span></a>    <a href="cpu.c_macros_noref.html#_QURKX1NUQVRVU18w"><span class="b">ADJ_STATUS</span></a>
<a name="121" /><span class="True">     121:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX1RJTUVDT05TVF8w"><span class="b">MOD_TIMECONST</span></a>    <a href="cpu.c_macros_noref.html#_QURKX1RJTUVDT05TVF8w"><span class="b">ADJ_TIMECONST</span></a>
<a name="122" /><span class="True">     122:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX1RBSV8w"><span class="b">MOD_TAI</span></a>    <a href="cpu.c_macros_noref.html#_QURKX1RBSV8w"><span class="b">ADJ_TAI</span></a>
<a name="123" /><span class="True">     123:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX01JQ1JPXzA_"><span class="b">MOD_MICRO</span></a>    <a href="cpu.c_macros_noref.html#_QURKX01JQ1JPXzA_"><span class="b">ADJ_MICRO</span></a>
<a name="124" /><span class="True">     124:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_TU9EX05BTk9fMA__"><span class="b">MOD_NANO</span></a>    <a href="cpu.c_macros_noref.html#_QURKX05BTk9fMA__"><span class="b">ADJ_NANO</span></a>
<a name="125" /><span class="True">     125:</span> 
<a name="126" /><span class="True">     126:</span> 
<a name="127" /><span class="True">     127:</span> <span class="k">/*</span>
<a name="128" /><span class="True">     128:</span> <span class="k"> * Status codes (timex.status)</span>
<a name="129" /><span class="True">     129:</span> <span class="k"> */</span>
<a name="130" /><span class="True">     130:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BMTF8w"><span class="b">STA_PLL</span></a>        <span class="c">0x0001</span>    <span class="k">/* enable PLL updates (rw) */</span>
<a name="131" /><span class="True">     131:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU0ZSRVFfMA__"><span class="b">STA_PPSFREQ</span></a>    <span class="c">0x0002</span>    <span class="k">/* enable PPS freq discipline (rw) */</span>
<a name="132" /><span class="True">     132:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU1RJTUVfMA__"><span class="b">STA_PPSTIME</span></a>    <span class="c">0x0004</span>    <span class="k">/* enable PPS time discipline (rw) */</span>
<a name="133" /><span class="True">     133:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0ZMTF8w"><span class="b">STA_FLL</span></a>        <span class="c">0x0008</span>    <span class="k">/* select frequency-lock mode (rw) */</span>
<a name="134" /><span class="True">     134:</span> 
<a name="135" /><span class="True">     135:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0lOU18w"><span class="b">STA_INS</span></a>        <span class="c">0x0010</span>    <span class="k">/* insert leap (rw) */</span>
<a name="136" /><span class="True">     136:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0RFTF8w"><span class="b">STA_DEL</span></a>        <span class="c">0x0020</span>    <span class="k">/* delete leap (rw) */</span>
<a name="137" /><span class="True">     137:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1VOU1lOQ18w"><span class="b">STA_UNSYNC</span></a>    <span class="c">0x0040</span>    <span class="k">/* clock unsynchronized (rw) */</span>
<a name="138" /><span class="True">     138:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0ZSRVFIT0xEXzA_"><span class="b">STA_FREQHOLD</span></a>    <span class="c">0x0080</span>    <span class="k">/* hold frequency (rw) */</span>
<a name="139" /><span class="True">     139:</span> 
<a name="140" /><span class="True">     140:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU1NJR05BTF8w"><span class="b">STA_PPSSIGNAL</span></a>    <span class="c">0x0100</span>    <span class="k">/* PPS signal present (ro) */</span>
<a name="141" /><span class="True">     141:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU0pJVFRFUl8w"><span class="b">STA_PPSJITTER</span></a>    <span class="c">0x0200</span>    <span class="k">/* PPS signal jitter exceeded (ro) */</span>
<a name="142" /><span class="True">     142:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU1dBTkRFUl8w"><span class="b">STA_PPSWANDER</span></a>    <span class="c">0x0400</span>    <span class="k">/* PPS signal wander exceeded (ro) */</span>
<a name="143" /><span class="True">     143:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU0VSUk9SXzA_"><span class="b">STA_PPSERROR</span></a>    <span class="c">0x0800</span>    <span class="k">/* PPS signal calibration error (ro) */</span>
<a name="144" /><span class="True">     144:</span> 
<a name="145" /><span class="True">     145:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0NMT0NLRVJSXzA_"><span class="b">STA_CLOCKERR</span></a>    <span class="c">0x1000</span>    <span class="k">/* clock hardware fault (ro) */</span>
<a name="146" /><span class="True">     146:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX05BTk9fMA__"><span class="b">STA_NANO</span></a>    <span class="c">0x2000</span>    <span class="k">/* resolution (0 = us, 1 = ns) (ro) */</span>
<a name="147" /><span class="True">     147:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX01PREVfMA__"><span class="b">STA_MODE</span></a>    <span class="c">0x4000</span>    <span class="k">/* mode (0 = PLL, 1 = FLL) (ro) */</span>
<a name="148" /><span class="True">     148:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX0NMS18w"><span class="b">STA_CLK</span></a>        <span class="c">0x8000</span>    <span class="k">/* clock source (0 = A, 1 = B) (ro) */</span>
<a name="149" /><span class="True">     149:</span> 
<a name="150" /><span class="True">     150:</span> <span class="k">/* read-only bits */</span>
<a name="151" /><span class="True">     151:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_U1RBX1JPTkxZXzA_"><span class="b">STA_RONLY</span></a> <span class="f">(</span><a href="cpu.c_macros_noref.html#_U1RBX1BQU1NJR05BTF8w"><span class="b">STA_PPSSIGNAL</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU0pJVFRFUl8w"><span class="b">STA_PPSJITTER</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX1BQU1dBTkRFUl8w"><span class="b">STA_PPSWANDER</span></a> <span class="f">|</span> \
<a name="152" /><span class="True">     152:</span>     <a href="cpu.c_macros_noref.html#_U1RBX1BQU0VSUk9SXzA_"><span class="b">STA_PPSERROR</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX0NMT0NLRVJSXzA_"><span class="b">STA_CLOCKERR</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX05BTk9fMA__"><span class="b">STA_NANO</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX01PREVfMA__"><span class="b">STA_MODE</span></a> <span class="f">|</span> <a href="cpu.c_macros_noref.html#_U1RBX0NMS18w"><span class="b">STA_CLK</span></a><span class="f">)</span>
<a name="153" /><span class="True">     153:</span> 
<a name="154" /><span class="True">     154:</span> <span class="k">/*</span>
<a name="155" /><span class="True">     155:</span> <span class="k"> * Clock states (time_state)</span>
<a name="156" /><span class="True">     156:</span> <span class="k"> */</span>
<a name="157" /><span class="True">     157:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9PS18w"><span class="b">TIME_OK</span></a>        <span class="c">0</span>    <span class="k">/* clock synchronized, no leap second */</span>
<a name="158" /><span class="True">     158:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9JTlNfMA__"><span class="b">TIME_INS</span></a>    <span class="c">1</span>    <span class="k">/* insert leap second */</span>
<a name="159" /><span class="True">     159:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9ERUxfMA__"><span class="b">TIME_DEL</span></a>    <span class="c">2</span>    <span class="k">/* delete leap second */</span>
<a name="160" /><span class="True">     160:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9PT1BfMA__"><span class="b">TIME_OOP</span></a>    <span class="c">3</span>    <span class="k">/* leap second in progress */</span>
<a name="161" /><span class="True">     161:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9XQUlUXzA_"><span class="b">TIME_WAIT</span></a>    <span class="c">4</span>    <span class="k">/* leap second has occurred */</span>
<a name="162" /><span class="True">     162:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9FUlJPUl8w"><span class="b">TIME_ERROR</span></a>    <span class="c">5</span>    <span class="k">/* clock not synchronized */</span>
<a name="163" /><span class="True">     163:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_VElNRV9CQURfMA__"><span class="b">TIME_BAD</span></a>    <a href="cpu.c_macros_noref.html#_VElNRV9FUlJPUl8w"><span class="b">TIME_ERROR</span></a> <span class="k">/* bw compat */</span>
<a name="164" /><span class="True">     164:</span> 
<a name="165" /><span class="True">     165:</span> 
<a name="166" /><span class="True">     166:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _UAPI_LINUX_TIMEX_H */</span>
<a name="167" /><span class="True">     167:</span> </pre>
  </body>
</html>
